技術問答
技術文章
iT 徵才
Tag
聊天室
2025 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
0
我從 Angular 中分離出來依賴註入:`static-injector`
angular
nodejs
web
frontend
wszgrcy
2024-03-24 14:05:04
‧
581 瀏覽
分享至
Angular 中的依賴註入確實非常好用,可以使服務之間的依賴關系變得更加靈活和可復用
但是只能在 Angular 中的使用限製了他的發揮,需要讓他在所有 node/前端 平臺上都可以使用
如何使用?
如果你並不關心是如何實現的,可以直接
訪問使用文檔
為什麽不寫一個與 Angular 依賴註入相同的包
一個成熟的功能往往經過了多方面的考量,所以如果能不造輪子那麽是最好的
直接使用 Angular 的源碼可以保證功能與官方一直同步,不需要擔心自己實現的邏輯與官方之間存在差異
node/前端使用同樣的邏輯沒有心智負擔
直接復製代碼就能使用了?
當然不是,首先 Angular 中的源碼都是為了它自身設計服務的,所以會有一些我們不需要的功能需要刪減.比如
@Module
會有依賴註入相關的代碼,
@Host
等組件裝飾器,還有更多非通用依賴都需要去除
Angular 使用依賴註入為靜態依賴註入,所以需要實現自己的靜態編譯方法,保證代碼與官方一致
需要創建接口,對接並調用 Angular 源碼,使得功能正常運行
運行成功就結束了?
運行成功不是結束,反而是開始的第一步,代碼成功獨立執行了,那麽接下來就要保證代碼能與
Angular
官方同步,不錯過新的特性,也不錯過缺陷修復
所以我們要找到一種可以穩定修改代碼的方法,可以隨著項目更新自動對代碼進行裁剪,然後針對裁剪結果進行細微調整,減少工作量
使用
Code Recycle
對代碼進行穩定更新同步
更新同步腳本
通過腳本對 Angular 源碼進行拉取,使用 css 選擇器語法查詢並修改代碼
修改代碼之後對代碼進行測試
每次更新後只需要修改 tag => 同步更新 => 測試 => 調整(如果有問題) => 發布.減少了手工修改可能產生的問題
如何知道倉庫支持哪些功能
查看用例
所有存在的用例均經過了測試驗證,如果您有其他功能需要使用也可以提交 issue
留言
追蹤
檢舉
熱門推薦
{{ item.subject }}
{{ item.channelVendor }}
|
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
440
組
團體組數
14
組
累計文章數
3558
篇
最後報名日
9/15
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
看更多
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
17th鐵人賽
2017鐵人賽
windows
php
c#
windows server
linux
css
react
熱門問題
不知道網路紅隊的要去那加公司
Jaspersoft 的資料庫連結 出現錯誤:驅動程式無法使用安全通訊端層 (SSL) 加密建立與 SQL Server 的安全連接。
aws ec2 檢查故障問題
尋求git之外的 高效能本機檔案備份 & 版本管理推薦
IIS 管理員 連線功能不見
請問有人遇過在lightsail上部屬fastapi失敗的案例?
port-forwading到遠程網段
HackerOne的賞金等好久都領不到
熱門回答
不知道網路紅隊的要去那加公司
尋求git之外的 高效能本機檔案備份 & 版本管理推薦
請問有人遇過在lightsail上部屬fastapi失敗的案例?
aws ec2 檢查故障問題
port-forwading到遠程網段
熱門文章
什麼是 Signal ?
序: AI 加速編碼後,你該學什麼?
Signal 的核心概念
第13天,雲端硬碟軟體選擇 / 吉仔冬瓜肉飯 在地排隊美食(新北土城)| 30天滷肉飯
Reactivity 的概念與演進
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}